package net.sunofbeach.controller;



import lombok.AllArgsConstructor;
import net.sunofbeach.bo.PaymentBO;
import net.sunofbeach.service.PayService;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;


/**
 *  支付宝支付，控制器
 *
 * @author wangziyang
 * */
@RestController
@RequestMapping(value = "/pay")
@AllArgsConstructor
public class payController {

    private PayService payService;

    /**
     *  下单支付
     * */
    @GetMapping(value = "/confirm" , produces = {"text/html;charset=UTF-8"})
    public Object pay () throws Exception {
        //这个接口其实应该是post方式的，但是我这里图方便，直接以get方式访问，
        //且返回格式是text/html，这样前端页面就能直接显示支付宝返回的html片段
        //真实场景下由post方式请求，返回code、msg、data那种格式的标准结构，让前端拿到data里的
        //html片段之后自行加载

        //由于我这里并没有真正的传参数，所以象征性的new一下，避免空指针

        return payService.pay();
    }

    /*
    * 支付回调
    * */
    @PostMapping(value ="/notify")
    public Object notifyAsync (HttpServletRequest request){
        Map map =request.getParameterMap();
        System.out.println(map.toString());
        return "ok";
    }
}